# 需求：进⼊系统显示系统功能界⾯，功能如下：
# 1、添加学员
# 2、删除学员
# 3、修改学员信息
# 4、查询学员信息
# 5、显示所有学员信息
# 6、退出系统
# 系统共6个功能，⽤户根据⾃⼰需求选取。
# 定义函数 print_info ，负责显示系统功能。


# 1. ⽤户选择系统功能的代码需要循环使⽤，直到⽤户主动退出系统。
# 2. 如果⽤户输⼊1-6以外的数字，需要提示⽤户。
# 
info = [{'id': 'name1', 'name': 'name1', 'tel': 'name1'}]


def print_info():
    str = """
    -------------------
    1、添加学员
    2、删除学员
    3、修改学员信息
    4、查询学员信息
    5、显示所有学员信息
    6、退出系统
    -------------------
    """
    print(str)


def add_info():
    """
    添加学员
    需求分析
    1. 接收⽤户输⼊学员信息，并保存
    2. 判断是否添加学员信息
    2.1 如果学员姓名已经存在，则报错提示
    2.2 如果学员姓名不存在，则准备空字典，将⽤户输⼊的数据追加到字典，再列表追加字典数据
    3. 对应的if条件成⽴的位置调⽤该函数
    :return: 
    """
    global info
    # 接收⽤户输⼊学员信息
    new_name = input('请输⼊姓名： ')
    for data in info:
        if data['name'] == new_name:
            print("这个学员姓名已经存在")
            return
    # 学员不存在
    new_id = input('请输⼊学号： ')
    new_tel = input('请输⼊⼿机号： ')
    data = {'id': new_id, 'name': new_name, 'tel': new_tel}
    info.append(data)
    print(info)


def modify_info():
    """
    1. ⽤户输⼊⽬标学员姓名
    2. 检查这个学员是否存在
    2.1 如果存在，则修改这位学员的信息，例如⼿机号
    2.2 如果不存在，则报错
    3. 对应的if条件成⽴的位置调⽤该函数
    :return: 
    """
    name = input('请输⼊姓名： ')
    global info
    for data in info:
        if data['name'] == name:
            data['tel'] = input('请输⼊手机号： ')
            print(info)
            return
    else:
        print('这个用户名不存在,不能修改')
    pass


def delete_info():
    """
    按⽤户输⼊的学员姓名进⾏删除
    1. ⽤户输⼊⽬标学员姓名
    2. 检查这个学员是否存在
    2.1 如果存在，则列表删除这个数据
    2.2 如果不存在，则提示“该⽤户不存在”
    3. 对应的if条件成⽴的位置调⽤该函数
    :return: 
    """
    global info
    # 接收⽤户输⼊学员信息
    new_name = input('请输⼊姓名： ')
    for data in info:
        if data['name'] == new_name:
            print("这个学员姓名存在")
            info.remove(data)
            print(info)
            return
    else:
        print("用户不存在")
    pass


def search_info():
    """
    1. ⽤户输⼊⽬标学员姓名
    2. 检查学员是否存在
    2.1 如果存在，则显示这个学员的信息
    2.2 如果不存在，则报错提示
    3. 对应的if条件成⽴的位置调⽤该函数
    :return: 
    """
    name = input('请输⼊姓名： ')
    global info

    for data in info:
        if data['name'] == name:
            print(data)
            return
            pass
    else:
        print("用户不存在")
    pass


def print_all():
    """
    打印所有学员信息
    :return: 
    """
    global info
    print(info)
    pass


while True:

    print_info()
    # ⽤户输⼊序号，选择功能
    input_str = input("请输入你需要的功能序号:")

    select = int(input_str)
    print(f'您选择了{select}')
    if select == 1:
        print("添加学员")
        add_info()
        pass
    elif select == 2:
        print("删除学员")
        delete_info()
        pass
    elif select == 3:
        print("修改学员信息")
        modify_info()
        pass
    elif select == 4:
        print("查询学员信息")
        search_info()
        pass
    elif select == 5:
        print("显示所有学员信息")
        print_all()

        pass
    elif select == 6:
        print("系统退出成功")
        break
    else:
        print("输入错误,请重新输入")
        pass
